package GuiDictionaries;




import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;

/**
 * @author ：chenzikang
 * @date ： 2020/5/20
 */

public class Dictionaries {

    public Dictionaries() {

        //创建map存储数据
        Map<String, String> map = new HashMap<>();


        //建立窗体结构
        JFrame jFrame = new JFrame("Dictionaries");
        //控制窗体的位置和大小
        jFrame.setBounds(600, 300, 800, 250);

        //设置窗口可关闭
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        //     实例化字体
        Font font = new Font("宋体", Font.PLAIN, 35);

        //查询部分

        //新建面板
        JPanel panel1 = new JPanel();
        //将面板添加到窗体中，置于顶部
        jFrame.getContentPane().add(panel1, BorderLayout.CENTER);
        //新建标签
        JLabel label1 = new JLabel("输入英文   ");
        //设置标签的字体
        label1.setFont(font);
        //新建文本框
        JTextField text1 = new JTextField();
        //设置文本框的大小
        text1.setPreferredSize(new Dimension(150, 40));
        //设置文本框内部的字体
        text1.setFont(font);
        //新建按钮
        JButton button1 = new JButton("查询");
        //设置按钮监听事件
        button1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                //获取到输入内容对应的map的value
                String things = map.get(text1.getText());
                //判断如果为空，则不存在此单词
                if (things == null) {
                    JOptionPane.showMessageDialog(null, "无此单词");
                }
                //如果存在，则弹出此单词中文
                else
                    JOptionPane.showMessageDialog(null, things);
            }
        });

        //设置按钮的字体
        button1.setFont(font);

        //将标签，按钮，文本框添加到面板中
        panel1.add(label1);
        panel1.add(text1);
        panel1.add(button1);


        //删除部分
        JPanel panel2 = new JPanel();
        jFrame.getContentPane().add(panel2, BorderLayout.SOUTH);
        JLabel label2 = new JLabel("删除单词   ");
        label2.setFont(font);
        JTextField text2 = new JTextField();
        text2.setPreferredSize(new Dimension(150, 40));
        text2.setFont(font);
        JButton button2 = new JButton("删除");

        button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                map.remove(text2.getText());
                JOptionPane.showMessageDialog(null, "删除成功");

            }
        });
        button2.setFont(font);

        panel2.add(label2);
        panel2.add(text2);
        panel2.add(button2);


        //插入部分
        JPanel panel3 = new JPanel();
        jFrame.getContentPane().add(panel3, BorderLayout.NORTH);
        JLabel label3 = new JLabel("插入单词   ");
        label3.setFont(font);

        Font font2 = new Font("宋体", Font.PLAIN, 20);
        JTextField text31 = new JTextField("输入英文");
        text31.setPreferredSize(new Dimension(150, 40));
        text31.setFont(font2);
        JTextField text32 = new JTextField("输入中文");
        text32.setPreferredSize(new Dimension(150, 40));
        text32.setFont(font2);

        JButton button3 = new JButton("插入");
        button3.setFont(font);
        button3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //判断输入内容是否为空
                //如果为空，则提示输入有误
                if (text31.getText().equals("") || text32.getText().equals("")) {
                    JOptionPane.showMessageDialog(null, "输入有误");
                }
                //如果不为空则
                else {
                    //将输入内容插入到map中
                    map.put(text31.getText(), text32.getText());
                    //提示添加成功
                    JOptionPane.showMessageDialog(null, "添加成功");
                }


            }
        });


        panel3.add(label3);
        panel3.add(text31);
        panel3.add(text32);
        panel3.add(button3);


// 设置窗口显示
        jFrame.setVisible(true);

    }


    public static void main(String[] args) {
        new Dictionaries();
    }


}
